Trading interface for facilitating trading of multiple tradeable objects in an electronic trading environment

ABSTRACT

A system and method are provided for trading multiple tradeable objects. One example method includes displaying at least one combined quantity indicator representing a combined quantity associated with at least two tradeable objects, detecting an input associated with an order for a predetermined order quantity in relation to one of the combined quantity indicators, and allocating the order quantity between the at least two tradeable objects using at least one quantity allocation rule. In one example embodiment, a plurality of quantity allocation rules can be user-configurable, and different rules can be defined and applied in relation to different order types.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 12/474,864, filed May 29, 2009, which is a continuation of U.S.patent application Ser. No. 10/954,681, filed Sep. 30, 2004, now U.S.Pat. No. 7,571,134, which is a continuation-in-part of U.S. patentapplication Ser. No. 10/293,585, filed Nov. 13, 2002, now U.S. Pat. No.7,418,422. The entire disclosure contents of these applications areherewith incorporated by reference into the present application.

TECHNICAL FIELD

The present invention relates generally to the electronic trading. Morespecifically, it relates to a system and method for trading multipletradeable objects in an electronic trading environment.

BACKGROUND

An exchange is a central marketplace with established rules andregulations where buyers and sellers meet to trade. Some exchanges,referred to as open outcry exchanges, operate using a trading floorwhere buyers and sellers physically meet on the floor to trade. Otherexchanges, referred to as electronic exchanges, operate by an electronicor telecommunications network instead of a trading floor to facilitatetrading in an efficient, versatile, and functional manner. Electronicexchanges have made it possible for an increasing number of people toactively participate in a market at any given time. The increase in thenumber of potential market participants has advantageously led to, amongother things, a more competitive market and greater liquidity.

With respect to electronic exchanges, buyers and sellers may log onto anelectronic exchange trading platform by way of a communication linkthrough their user terminals. Once connected, buyers and sellers maytypically choose which tradeable objects they wish to trade. As usedherein, the term “tradeable object” refers to anything that can betraded with a quantity and/or price. It includes, but is not limited to,all types of traded events, goods and/or financial products, which caninclude, for example, stocks, options, bonds, futures, currency, andwarrants, as well as funds, derivatives and collections of theforegoing, and all types of commodities, such as grains, energy, andmetals. The tradeable object may be “real,” such as products that arelisted by an exchange for trading, or “synthetic,” such as a combinationof real products that is created by the user. A tradeable object couldactually be a combination of other tradeable objects, such as a class oftradeable objects.

To profit in today's rapidly moving markets, traders must be able toreact quickly and assimilate enormous amounts of data. For example, atrader may constantly have to review market data, world news, businessnews, and so on before making trades. Consequently, a skilled traderwith the quickest software, the fastest communications, and the mostsophisticated analysis can significantly improve the trader's own or thetrader's firm's potential profits. The slightest advantage in speed orability to assimilate information can generate significant returns in afast moving market. Therefore, in today's fast and dynamically changingmarkets, a trader lacking those means may be at a disadvantage comparedto other traders.

For certain trading strategies, traders may be interested in monitoringand participating in markets of two or more tradeable objects. Knowntrading applications have limited capabilities to address this interest.For example, market information for one tradeable object may bedisplayed in a trading interface in a first trading window andinformation related to a second tradeable object may be displayed in asecond trading window. Another available alternative provides limitedmarket information about a first tradeable object in one row of a tableand market information about a second tradeable object in a differentrow of the table. A disadvantage of these known trading applications isthat the trader who is interested in trading two or more tradeableobjects at the same time must use his valuable time to try to discernthe current relationship between the tradeable objects. Order entry isalso complicated by the multiple windows.

It would therefore be desirable to have an improved apparatus, method,and interface for trading multiple tradeable objects.

BRIEF DESCRIPTION OF THE FIGURES

Example embodiments of the present invention are described herein withreference to the following drawings, in which:

FIG. 1 is a block diagram illustrating an example network configurationfor a communication system utilized to access one or more exchanges;

FIG. 2 is a block diagram illustrating a client terminal with a numberof layers defining different stages that may be used to implement theexample embodiments described herein;

FIG. 3 is a block diagram illustrating an example Navigator™ applicationwith a number of layers defining different stages that may be used toimplement the embodiments described herein;

FIG. 4 is a block diagram illustrating an example configuration windowthat could be used to define tradeable object combination according toone example embodiment;

FIG. 5 is a block diagram illustrating one example embodiment of a setupwindow for defining a plurality of parameters for a tradeable objectcombination according to one example embodiment;

FIG. 6 is a block diagram illustrating a graphical user interface fortrading multiple tradeable objects and tradeable object combinationsaccording to one example embodiment;

FIG. 7 is a block diagram illustrating an example quantity pad thatcould be used to enter order quantity;

FIG. 8 is a block diagram illustrating an example quantity pad in anorder mode;

FIG. 9 illustrates two different example order type/quantity pads;

FIG. 10 is a block diagram illustrating an example order pane window fordisplaying order information associated with working orders;

FIG. 11 is a block diagram illustrating a trading interface providing aconsolidated market information display type;

FIG. 12 is a block diagram illustrating a trading interface providing asplit market information display type for trading a plurality oftradeable objects according to one example embodiment;

FIG. 13 is a block diagram illustrating an example trading interface fordisplaying market depth information for two tradeable objects beingtraded in different tick sizes;

FIG. 14 is a block diagram illustrating an example trading interface fordisplaying better than best quantities according to one exampleembodiment;

FIG. 15 is a flowchart illustrating an example method for setting orderparameters based on an order type being input by a trader;

FIG. 16 is a block diagram illustrating a trading interface displayingmarket related information related to two tradeable objects;

FIG. 17 is a block diagram illustrating a table that includes aplurality of quantity allocation values determined for a plurality oflifting orders using optimization rules that ignore a trader's netposition;

FIG. 18 is a block diagram illustrating a table that includes aplurality of quantity allocation examples for a number of lifting ordersusing optimization rules that take into account a trader's net position;

FIG. 19 is a block diagram illustrating a table that includes aplurality of quantity allocation examples for a number of lifting ordersusing constant percentage rules; and

FIG. 20 illustrates an example table that includes a plurality ofquantity allocation examples for a number of joining orders usingconstant percentage rules.

DETAILED DESCRIPTION I. Overview

Trading tools are provided that allow a trader to implement a pluralityof trading strategies in relation to multiple tradeable objects beingoffered at the same or different exchanges. In one example embodiment, atrading interface is provided that includes a plurality of regions thatallow a trader to view market information and enter orders in relationto multiple tradeable objects. The plurality of regions may include anumber of regions that display market information corresponding to eachindividual tradeable object, along with one or more regions thatcorresponds to combined market information associated with two or morethe same or different tradeable objects. For example, the combinedmarket information may include combined bid and ask values available ata certain price level for two or more tradeable objects. In one exampleembodiment, the regions may be displayed in relation to a common staticprice axis. To do that, prices corresponding to one or more tradeableobjects can be normalized and/or shifted so that the market datacorresponding to multiple tradeable objects can be displayed in relationto the common static price axis. In one example embodiment, a tradercould define one or more multipliers and/or offsets to be used to inrelation to price levels corresponding to each tradeable object to mapthem to a common price axis, and different offsets and multipliers couldbe used in relation to price levels corresponding to bid and askquantities. In one embodiment, a trader could select the multipliersand/or offsets based on the trader's preferences, strategy, ortrader-perceived relationship between the tradeable objects. Thequantities corresponding to each individual tradeable object may then bemapped to locations in relation to the common axis of static prices.

The trading interfaces of the example embodiments can also be used by atrader to enter orders for one or more tradeable objects. In one exampleembodiment, a trader may define a number of quantity allocation rules sothat when a trader enters an order via one of the combined marketinformation regions, the rules can be used to allocate the enteredquantity between the two or more tradeable objects corresponding to thecombined market information region. For example, the rules could take aformat of percentages, and the percentages could define how an enteredquantity should be allocated to each tradeable object. The rules couldbe also dynamically changed based on any user-defined triggers, such asan unavailability of an exchange corresponding to a tradeable object towhich a quantity is to be allocated. Different features associated withthe example embodiments will be described in greater detail below.

While the present invention is described herein with reference toillustrative embodiments for particular applications, it should beunderstood that the present invention is not limited thereto. Othersystems, methods, and advantages of the present embodiments will be orbecome apparent to one with skill in the art upon examination of thefollowing drawings and description. It is intended that all suchadditional systems, methods, features, and advantages be within thescope of the present invention, and be protected by the accompanyingclaims.

II. Hardware and Software Overview

As will be appreciated by one of ordinary skill in the art, the presentembodiments may be operated in an entirely software embodiment, in anentirely hardware embodiment, or in a combination thereof. However, forsake of illustration, the preferred embodiments are described in asoftware-based embodiment, which is executed on a computer device. Assuch, the preferred embodiments take the form of a computer programproduct that is stored on a computer readable storage medium and isexecuted by a suitable instruction system in the computer device. Anysuitable computer readable medium may be utilized including hard disks,CD-ROMs, optical storage devices, or magnetic storage devices, forexample.

In an electronic trading environment, when a trader selects a tradeableobject, the trader may access market data related to the selectedtradeable object(s). Referring to FIG. 1, an example communication thatmight occur between an electronic exchange and a client terminal inaccordance with the preferred embodiments is shown. During a tradingsession, market data 108, in the form of messages, may be relayed fromhost exchanges 106A-106C over communication links 116A-C and 112 to aclient terminal generally indicated as 102. As illustrated in FIG. 1,intermediate devices, such as gateway(s) 104, may be used to facilitatecommunications between the client terminal 102 and the host exchange106. It should be understood that while FIG. 1 illustrates the hostexchanges 106A-106C communicating with the client terminal 102 via asingle gateway 104, more gateways could also be used. For example, eachexchange could communicate with the client terminal 102 via a separategateway, or multiple gateways could be assigned to each electronicexchange.

The market data 108 contains information that characterizes thetradeable object's order book including, among other parameters, orderrelated parameters, and the inside market, which represents the lowestsell price (also referred to as the best or lowest ask price) and thehighest buy price (also referred to as the best or highest bid price).In some electronic markets, market data may also include market depth,which generally refers to quantities available for trading the tradeableobject at certain buy price levels and quantities available for tradingthe tradeable object at certain sell price levels.

In addition to providing the tradeable object's order book information,electronic exchanges can offer different types of market informationsuch as a total traded quantity value for each price level, an openingprice, a last traded price, a last traded quantity value, a closingprice, or order fill information. It should be understood that marketinformation provided from an electronic exchange could include more orfewer items depending on the type of tradeable object or the type ofexchange. Also, it should be understood that the messages provided inthe market data 108 may vary in size depending on the content carried bythem, and the software at the receiving end may be programmed tounderstand the messages and to act out certain operations.

A trader may view the information provided from an exchange via one ormore specialized trading screens created by software running on theclient terminal 102, the embodiments of which will be described inrelation to subsequent sections. Upon viewing the market information ora portion thereof, a trader may wish to take actions, such as sendorders to an exchange, cancel orders at the exchange, or change orderparameters, for example. To do so, the trader may input various commandsor signals into the client terminal 102. Upon receiving one or morecommands or signals from the trader, the client terminal 102 maygenerate messages that reflect the actions taken, generally shown at110. It should be understood that different types of messages or ordertypes can be submitted to the host exchanges 106, all of which may beconsidered various types of transaction information. Once generated,user action messages 110 may be sent from the client terminal 102 to thehost exchange(s) over communication links 114 and 116A-116C.

III. System Function and Operation

FIG. 2 is a block diagram illustrating a client terminal 200 with anumber of layers defining different stages that may be used to implementvarious example embodiments that will be described in greater detailbelow. The layers include a communication interface 202, a userprogrammable interface 204, a trading application 206, a Navigator™application 208, a processor 210, and a memory unit 212.

The communication interface 202 allows the client terminal 200 tointeract with the trader and to generate contents and characteristics ofa trade order to be sent to one or more of a plurality of electronicexchanges 214. In one example embodiment, the user programmableinterface 204 allows a user to enter any configuration parameters to beused by the Navigator™ application 208 or the trading application 206.The user programmable interface 204 may include any type of interface.For example, the user programmable interface 204 may be a command-driveninterface, a graphical user interface that takes advantage of computergraphics, or the combination thereof. The graphical user interface mayinclude one or more windows that can be moved around the display screen,and their size and shape can be changed as the user wishes. A window mayin turn include icons that represent commands, files, or more windows.Alternatively, rather than using a user programmable interface at theclient terminal, an intelligent communication interface could be usedinstead. In such an embodiment, a third party application could inputone or more variables into the trading application 206 and theNavigator™ application 208, and the applications could operate based onthose variables. The types of variables will be described in greaterdetail below.

In one embodiment, the user programmable interface 204 can beimplemented in a software module or processor. The user programmableinterface 204 can be a routine, a data structure, or the combinationthereof, stored in the memory unit 212, and may perform the functions ofthe user programmable interface described herein.

As mentioned in an earlier paragraph, the user programmable interface204 may take a format of different windows, which may be displayed viathe display devices 212 of the client terminal 200, such as a screen ofthe client terminal 200. The windows can include as many functionalicons as the user requests, and each icon may include an image displayedon the screen to represent an element that can be manipulated by theuser.

Information being provided by the trading application 206 may bedisplayed to a trader via display devices 216, and may allow a trader toview market data, enter, cancel, change, and view trade orders.Preferably, the trading application 206 has access to market informationfrom the host exchanges 214, and allows a trader to view market data,enter, change, and cancel orders, and view order related information. Acommercially available trading application that allows a user to tradein a system like that shown in FIG. 1 is X_TRADER® from TradingTechnologies International, Inc. of Chicago, Ill. X_TRADER® alsoprovides an electronic trading interface, referred to as MD Trader™, inwhich working orders and bid/ask quantities are displayed in associationwith a static price axis or scale. As mentioned above, the scope of thepresent invention is not limited by the type of terminal or device used,and is not limited to any particular type of a trading application.

Portions of X_TRADER® and the MD Trader™-style display are described inU.S. Pat. No. 6,772,132, entitled “Click Based Trading With IntuitiveGrid Display of Market Depth,” filed on Jun. 9, 2000, U.S. Pat. No.7,127,424, entitled “Click Based Trading With Intuitive Grid Display ofMarket Depth and Price Consolidation,” filed on Oct. 5, 2001, and U.S.Pat. No. 7,389,268, entitled “Trading Tools for Electronic Trading,”filed on Apr. 19, 2002, the contents of each are incorporated herein byreference.

In the embodiment illustrated in FIG. 2, the trading application 206 andthe Navigator™ application 208 are shown as two separate applications.However, it should be understood that the functionality of bothapplications could be combined into one application as well. In oneexample embodiment, when a user activates the Navigator™ application208, the trading application 206 may display a trading interface thatshows bids and offers for two or more tradeable objects side by side, aswell as a combined bid and ask column that can be used by a trader tosubmit orders using trader-defined quantity allocation rules, theembodiments of which will be described in greater detail below. Thetradeable objects can be any tradeable objects selected by a trader. Forexample, the tradeable objects could be the same tradeable objects beingoffered at two different exchanges. However, a trader could select anyunrelated tradeable objects as well.

A trader may then use the example trading interface to submit orders forone, or for more tradeable objects. If a trader enters an order using aregion corresponding to a single tradeable object, the order to buy orsell the specified quantity will be sent to an exchange corresponding tothat tradeable object. However, when an order is entered via a combinedquantity region, the Navigator™ application 208 will first use quantityallocation rules to decide how the entered quantity should be allocatedbetween two or more tradeable objects, and the order(s) will be sent toone or more exchanges corresponding to the tradeable objects. Thequantity allocation decisions may be based on any user-configurablerules, and the rules can be static or dynamic. For example, the rulescan dynamically change based on time of day or any other data beingreceived from the exchanges. More examples related to order routingconfiguration and order submission using the example trading interfaceswill be given below.

In one example embodiment, a trader could turn on the Navigator™functionality by selecting a desktop icon displayed via the displaydevices 216. Alternatively, the Navigator™ application 208 can beautomatically activated when a trader activates the trading application206 and selects more than one tradeable object to be traded via thetrading interface. Upon activating the Navigator™ application 208, thedisplay devices 216 may display a configuration window, and a trader mayuse the window to configure a number of tradeable objects that thetrader wishes to trade.

FIG. 3 is a block diagram illustrating an example Navigator™ application300 with a number of layers defining different stages that may be usedto implement the embodiments described herein. The layers include aquantity allocation engine 302, a storage unit 304, a price equalizerengine 306, and a quantity equalizer engine 308. In a preferredembodiment, the layers are accessible by a processor unit thatpreferably has enough processing power to handle and process variousdata and instructions associated with the layers.

In one example embodiment that will be described in greater detailbelow, a user may enter orders using a trading application that displayscombined order quantity bid and ask regions. In such an embodiment, thequantity allocation engine 302 may allocate the entered quantity betweenthe two or more tradeable objects corresponding to the combined quantityregions. The quantity allocation engine 302 may determine how thequantity should be allocated using a number of user-defined rules. Thequantity allocation rules may include percentage values defining apercentage allocation value for each of the two or more tradeableobjects. It should be understood that the quantity allocation rulescould be dynamically modified upon detecting any user-definedconditions. For example, the conditions could be based on any tradeableobject related data, exchange related data, trader related data, or thecombination thereof. The user-defined quantity allocation rules can bestored in the storage unit 304. When the quantity allocation engine 302determines how the entered quantity should be allocated, the Navigator™application 208 may provide the allocation information to the tradingapplication 206, and the trading application 206 may responsively submitone or more orders to the electronic exchange(s) 214.

The Navigator™ application 208 also includes the quantity equalizerengine 308 and the price equalizer engine 306. In general, quantities ofsome tradeable objects may be related such that buying a certainquantity of one tradeable object may be equivalent to buying apredetermined quantity of a second tradeable object. For example, buyingor selling 3 lots of a first tradeable object may be considered by manytraders to be equivalent to buying or selling 2 lots of a secondtradeable object. Using the defined ratio, the quantities correspondingto the first and second tradeable objects can be equalized when they aredisplayed to a trader via a trading interface. For example, when thequantity equalizer engine 308 is configured to equalize quantitiescorresponding to the first tradeable object to quantities of the secondtradeable object, and an order quantity of 10 is available for the firsttradeable object at a specific price level, the price equalizer engine308 may determine that the equalized quantity is 6.667. However, ratherthan displaying a fraction in relation to the price level, the quantityof 6 may be displayed instead. Similarly, when the quantity of 10 isavailable for the second tradeable object at a certain price level, andthe quantity equalizer engine 308 equalizes the quantities of the secondtradeable object to the quantities of the first tradeable object, basedon the defined ratio, the quantity of 5 would be displayed for thesecond tradeable object in relation to that price level. In one exampleembodiment, the equalized quantities can be displayed in relation to acommon price axis corresponding to the first tradeable object and thesecond tradeable object.

When a trader places an order via a trading interface that displaysequalized quantities, the quantity equalizer engine 308 will modify anorder quantity before the order is sent to an electronic exchange.Referring to the example given above, if a trader places an order tobuy/sell 2 equalized lots of the first tradeable object, the quantityequalizer engine 308 will modify the order quantity based on the definedratio so that the order having an order quantity of 6 will be sent to anelectronic exchange (e.g., 2 equalized lots times 3 is 6). Similarly,when an order to buy/sell 3 lots of the second tradeable object isdetected, the quantity equalizer engine 308 will modify the equalizedorder quantity based on the defined ratio, and an order having an orderquantity of 6 will be sent to an electronic exchange (e.g., 3 equalizedlots times 2 is 6). It should be understood that a trader could set upany ratios or formulas to be used by the quantity equalizer engine 308to equalize quantity values of any two or more tradeable objects.

In some embodiments that will be described in greater detail below, ifthe same tradeable object is being traded at two different exchanges,the tradeable objects could be traded using the same price levels, andmarket information related to two or more tradeable objects can bedisplayed in relation to the same price axis. However, in otherembodiments, a trader may wish to view, along a common price axis,market information related to two or more tradeable objects that couldbe traded using different price levels. According to one exampleembodiment, a trader may define multipliers as well as offsets todisplay market information along a common price axis. In addition tomultipliers and offsets, a trader could also define a scaling priceinterval to be used in relation to the common price axis. In oneembodiment, the scaling price interval could be a tick increment valueto be used in relation to the common price axis. By default, the scalingprice interval could be set to a tick increment value corresponding to atradeable object that ticks in the smallest tradeable increments. Forexample, if one tradeable object ticks in half ticks, while a secondtradeable object ticks in full ticks, the price equalizer engine 306could select a scaling price interval of a half tick for a common priceaxis. However, it should be understood that the scaling price intervalcould be user-configurable. For example, if a first tradeable objectticks in 5 tick increments, while a second tradeable object ticks in 10tick increments, a trader could select a tick increment of 10 to be usedin relation to the common price axis. In such an embodiment, quantitiesoccurring at 5 tick intervals can be rolled over to the lower or higherprice level corresponding to the 10 tick intervals, and the selection ofthe higher or lower price level can be based on the user preferences.

As mentioned earlier, a trader could also define one or more multipliersto move prices corresponding to two or more tradeable object to the sameprice range. For example, one tradeable object may trade in a range of9750.0 to 9780.0, while a second tradeable object may trade in adifferent price range of 97.60 to 97.95. In such an embodiment, to movethe two tradeable objects to the same price range, a trader may decideto define a multiplier of 100 to move the prices of the second tradeableobject to the price range of the first tradeable object. Alternatively,the prices corresponding to the first tradeable object could be dividedby 100 (or multiplied by a fraction, such as 0.01, in this example) tomove the price levels of the first tradeable object to the price rangeof the second tradeable object. It should be understood that twodifferent multipliers could also be used to display market informationcorresponding to two tradeable objects in relation to a common priceaxis, so that one multiplier could be used in relation to the pricescorresponding to the first tradeable object, and another multipliercould be used in relation to the prices corresponding to the secondtradeable object. When a trader defines the multiplier values, the priceequalizer engine 306 may use the defined multipliers to shift the pricescorresponding to one or more tradeable objects to the same price range.

It should be understood that a multiplier value could be in a format ofan integer, a fraction, or a decimal, and a trader could select theformat that will be used in relation to the multiplier. However,alternatively, a multiplier value could be based on any user-definedformula. For example, a formula could be based on a trader's perceptionof a relationship between two or more tradeable objects' prices to beequalized. Also, a formula could include a number of variables thatcould be based on any market related data, or user defined values, andthe formula could be linked to the Navigator application from anysoftware application, such as Excel. In an alternative embodiment,rather that using a multiplier, a trader could also define a value thatcould be added to or subtracted from the prices corresponding to thetradeable objects so that the prices are in the same price range, or sothat the quantities corresponding to two or more tradeable objects aredisplayed in relation to the common price axis according to the user'spreferences.

In one embodiment, the equalizer engine 306 may constantly realign themarkets based on the predefined multipliers and/or offsets. However,some traders, such as those traders who make their profits on adifference in prices corresponding to two or more tradeable objects, maynot want to have the two markets constantly realigned. One example ofthis is basis trading. Generally, a basis is the difference between thefutures price and the cash price. In one example embodiment, multipliersand/or offsets can be selected to reflect a user-defined basis value.Then, as the market forces drive the basis, (e.g., change the basis), auser may want to be able to see the relative positions of two or moremarkets corresponding to the tradeable objects in order to trade thebasis, rather than having the market view being constantly realigned onthe preset multipliers/offsets. In such an embodiment, however, a tradermay want to have the markets realigned at some point, such as when thebasis value is higher or lower than a user-predefined value. Rather thanrealigning the market view when the basis crosses a predefined value, atrader may wish to be notified of such an event. A trader may set up oneor more alerts to be activated when the basis is out of auser-predefined range, and the alerts can take a format of visual and/orgraphical alerts. In such an embodiment, when an alert is activated, atrader may be given a choice of either realigning the markets based onthe predefined multipliers and/or offsets, or leaving the markets' viewunchanged.

When the prices are equalized using a multiplier value, a trader mayfurther modify the display of quantities in relation to the common priceaxis by defining one or more offsets that could be used to position twoor more market depths in a certain relation to each other. Such anembodiment is especially beneficial when a trader has a certainperception about two or more markets, and wants to implement his/hertrading strategy based on a relative position of the two markets inrelation to each other. For example, a trader may define an offset toalign two or more markets. It should be understood that differentoffsets could be used to align bids and asks. For example, one or moreoffsets could be used to align the best bids corresponding to two ormore tradeable objects, and a different offset(s) could be used to alignthe best asks corresponding to two or more tradeable objects. Forexample, different offsets could be used to account for how much itcosts to get in and out of the position. It should be understood thatthe offsets that are used by the price equalizer engine 306 may dependon a trader's trading strategy or preferences as to how the trader wantsto see market information corresponding to two or more tradeableobjects. Also, similarly to the multipliers, the offsets could belinkable to the Excel application that could control the offset valuesbeing applied to the market prices.

FIG. 4 is a block diagram illustrating an example configuration window400 that a trader may use to define tradeable object combinationsaccording to one example embodiment. The configuration window 400 can beused as the main control panel to manage and launch multiple tradeableobjects combinations. According to one example embodiment, theconfiguration window 400 may be implemented on a grid created from anyavailable software package that forms a spreadsheet like grid of rowsand columns that intersect to form cells.

Preferably, tradeable objects can be added to the window 400 byselecting them from a market window. Selection means, as used herein,may include any menu-driven mechanisms (e.g., pull-down menus, drop-downmenus, pop-up menus, and so on), command line entry mechanisms, checkboxes that can be used to enable or disable one or more features oroptions, drag-and-drop, and other known selection methods. As shown inFIG. 4, the configuration window 400 provides a number of tradeableobject columns: a “Name” column 402, “Tradeable Objects 1 and 2” columns404 and 406, a “Setup” column 408, a “Depth” column 410, and a “Grid”column 412. The Name column 402 may provide any user-configurable aliasname for a tradeable object combination. It should be understood thatwhile the window 400 illustrates only a tradeable object combinationincluding two tradeable objects, a trader could also select more thantwo tradeable objects for the combination. Also, more columns could beused, or multiple tradeable objects could be dropped into each cell ofthe tradeable object columns 404 and 406. Further, alternatively, onlyone column could be used, and a trader could drop multiple tradeableobjects into that column. The Setup column 408 includes a number ofselection icons, and a trader may launch a setup window for eachtradeable object combination by selecting a respective icon. The Depthcolumn 410 includes a number of icons that can be used to launch a depthwindow for the tradeable object combination, the examples of which willbe illustrated in relation to Figures below. The Grid column 412includes a number of icons that can be used to launch a grid window.

The configuration window 400 illustrates three tradeable objectcombinations. However, it should be understood that more than threecombinations could be created as well. Also any new tradeable object canbe added by creating another row below the last combination. In oneembodiment, the configuration window 400 may be automatically resized todisplay up to a predetermined number of tradeable object combinations.For example, by default, the configuration window 400 could be setup todisplay up to 10 tradeable object combinations, and, if more than tentradeable object combinations are added to a list, a scroll bar can bedisplayed so that a trader can view and access all tradeable objectcombinations. Also, a trader could open various configuration files,such as any previously saved configurations, by selecting a file icon414.

In the example provided in relation to FIG. 4, each tradeable objectcombination consists of a pair of related tradeable objects, or the sametradeable objects being traded at two different exchanges. However, itshould be understood that a trader can select any tradeable objects tobe combined into a tradeable object combination of the exampleembodiments. The configuration window 400 also displays a fill count atthe bottom of the screen. The fill count may represent the number offills for all exchanges to which the trading application 206 is loggedin, and the displayed number can be dynamically changed based on marketinformation being received from each respective exchange. Alternatively,different fill counts could be shown as well, such as a number of fillsfor a plurality of exchanges.

It should be understood that a trader could save the most currenttradeable object settings and formats of one or more workspaces so that,when the trader activates the Navigator™ application 208 in the future,the Navigator™ application 208 may load the selected workspace. Also,default settings could be applied to any new tradeable objects that aredropped onto the window 400.

FIG. 5 is a block diagram illustrating one example embodiment of a setupwindow 500. A trader may activate the setup window 500 by selecting oneof the setup icons in the setup column 408 of the configuration window400. Preferably, there is a single setup window associated with eachpair or combination of tradeable objects, and properties specified forone tradeable object combination can be different than those specifiedfor a different combination. The setup window 500 includes a number offields that a trader may use to configure parameters for eachcombination of tradeable objects. The setup window 500 may include agroup information field 502, which may display, for example, an aliasassociated with a tradeable object combination selected by a trader,such as Sep04 Eurodollar. Contract information fields 504 display namesand abbreviated names of tradeable objects corresponding to the definedcombination, such as CME-S: GE Sep04 and LIFFE-S: ED Sep04, along withthe abbreviated names of GE and ED.

It should be understood that when a trader selects one of the setupicons 408 on the configuration window 400, the fields 502 and 504 can beautomatically populated with the names of the tradeable objectscorresponding to the selected setup icon. Also, it should be understoodthat the names used in each field could be user-configurable. The window500 includes a plurality of quantity fields 506, including a maximumquantity field that can be used to specify a maximum quantity value thata trader will be allowed to enter for a particular tradeable objectcombination. A default quantity field defines a default quantity thatwill be automatically defined for any order that a user enters for aparticular tradeable object combination. The Right-Click Quantity fielddefines an order quantity that will be entered for a combination oftradeable objects upon detecting a right click input in relation to theorder entry columns corresponding to the tradeable object combination orindividual tradeable objects.

Also, as shown in FIG. 5, a user could define a multiplier or a dividerto be used in relation to quantities 512 and price levels 514corresponding to each tradeable object. A user could select if a divideror a multiplier function will be used by the price and quantityequalizer engines by selecting desired boxes at 512 and 514. Asmentioned earlier, the multiplier/divider functions allow a user toadjust the quantity values and price values corresponding to two or moretradeable objects. In one example embodiment, a trader could select oneof the price axes corresponding to one of the tradeable objects to beused as a common axis of static prices. In such an embodiment, amultiplier and/or offset could be used to map the prices of the othertradeable object to the selected price axis. Alternatively, another axiscould be created. In such an embodiment, different multipliers and/oroffset can be applied to the two price axes corresponding to the twotradeable objects in order to position the tradeable object in relationto the newly created axis.

Also, a trader could define offset values to be used in relation toprices and quantity values corresponding to the tradeable objects, asshown at 516. A trader could interchangeably define different offsetsfor quantity and price levels by selecting a quantity box or a pricebox, defining the offset values, and then selecting the Apply selectionicon. FIG. 5 illustrates three different offset types, a Global offset,a Bid offset, and an Ask offset. When the Global offset value isselected, it could be used across all price/quantity levels. Then, Askand Bid offsets could be used to define different offsets in relation tobid and ask prices or quantities.

A trader can also use the setup window 500 to define quantity allocationrules to be applied when a trader submits orders to one or moreexchanges via the trading interfaces of the example embodiments. TheNavigator™ application 208 can use the configured rules to determine theallocation of order quantities between two or more tradeable objectscorresponding to the defined tradeable object combination. In oneexample embodiment, a trader can define a plurality of rules, and therules can be based on order types being entered by a trader. Forexample, as illustrated in FIG. 5, a trader can define two differentsets of rules, one set for lifting orders, and another set for joiningorders. In one example embodiment, a lifting order occurs when a buyorder is entered at a price level where a resting sell order exists orat a price level that is better than that of the resting sell order, orwhen a sell order is entered at a price level where a resting buy orderexists or at a price level that is better than that of the resting buyorder. In turn, a joining order occurs when an order is entered and itis not a lifting order, i.e., there is no pending order quantity on theopposite side of the market. Therefore, a joining buy order occurs whena trader enters a buy order at a price level where either a resting buyorder already exists, or at a price below both tradeable objects' lowestselling price levels. Also, a joining sell order occurs when a sellorder is entered at a price level where either a resting sell orderexists, or at a price level above both tradeable objects' highest buyprices.

In one example embodiment, if either a buy order or a sell order isentered at a price level where resting buy orders exist in only onetradeable object of the combination, and where resting sell orders existin the other tradeable object, such that either lifting or joining logiccould be applied, the Navigator™ application 208 may apply the liftinglogic. In one embodiment, when the Navigator™ application 208 appliesthe lifting logic, it will not use the lifting logic for the availablequantity and then the joining logic for the remaining quantity. However,different embodiments are possible as well, such that, for example,rather than applying the lifting logic when either the lifting orjoining logic could be applicable, the Navigator™ application 208 couldselect the joining logic instead.

Referring to FIG. 5, a trader may configure a number of quantityallocation rules based on the type of an order, such as based on whetheran order is a joining order or a lifting order. The rules for ordersinclude a “Constant Percentage” rule, a Flatten Position First (“FPF”)while accounting for better orders-“FPF (Account for Better Orders),” an“FPF (Account for Orders),” and an “FPF (Ignore Orders).” It should beunderstood that the rules illustrated in FIG. 5 are only examples, andmore quantity allocation rules could be defined as well.

When the Constant Percentage rule is selected, the Navigator™application 208 may allocate an order quantity to two or more tradeableobjects based on the supplied percentages. According to the examplegiven in FIG. 5, the Navigator™ application 208 could allocate theentered quantity equally between two tradeable objects. If thepercentages are selected and the calculations based on the definedpercentages dictate that a quantity of 1 is to be split between thefirst tradeable object and the second tradeable object, a trader may setup a rule to allocate that quantity to a selected tradeable object, suchas the first tradeable object. For example, if a trader places a requestto buy 12 lots of a tradeable object combination associated withquantity allocation rules dictating that 70% of any entered quantityshould be allocated to the first tradeable object, and the remaining 30%should be allocated to the second tradeable object, then the quantity of8.4 would be allocated to the first tradeable object, and a quantity of3.6 would be allocated to the second tradeable object based on thedefined percentages. If the allocation rules are set so that the firsttradeable object is the preferred quantity allocation tradeable object,then a quantity of 9 will be allocated to the first tradeable object,and a quantity of 3 will be allocated to the second tradeable object.Also, it should be understood that when an order quantity is allocatedbased on the defined percentages, only a single order can be sent to anexchange at any given point in time. Thus, a trader could define one ormore priority rules defining which of the two orders will be sent first.Different embodiments are possible as well.

If the FPF (Account for Better Orders) rule is selected, the Navigator™application 208 will attempt to flatten any net position whileaccounting for working orders at the better prices, referred to as“better orders,” and then split the remaining quantity based on thedefined percentages. For example, if a trader's net position in onetradeable object is −10 while there are already a working buy quantityof 3 pending at the better price level than an order being entered by atrader, the Navigator™ application 208 will attempt to flatten the netposition based on the net position of −7. When the Navigator™application 208 allocates an order quantity based on the trader's netposition, and there is still a remaining order quantity, the Navigator™application 208 will use the percentage rules.

Referring to the next rule, if the FPF (Account for Any Orders) isselected, the Navigator™ application 208 will attempt to flatten atrader's net position while accounting for any working orders, even ifthe existing working orders are at price levels that are worse than thenew order to be entered. If there is any remaining order quantity, theNavigator™ application 208 will allocate the remaining order quantityusing the percentage rules. According to the next rule, if the FPF(Ignore Orders) is selected, the Navigator™ application 208 will attemptto flatten the trader's net position while not taking into considerationany working orders.

FIG. 5 also illustrates a number of quantity allocation rules 510 forlifting orders. Using the first rule-“Optimize (FPF),” the Navigator™application 208 may, in one embodiment, attempt to place an order at thebest price. Then, the Navigator™ application 208 may attempt to allocatethe order quantities so that the allocation will result in a reductionof a net position being held by a trader in relation to one or bothtradeable objects. If there is any remaining order quantity, theNavigator™ application 208 can then start allocating the quantitiesbased on any preset percentages. According to the second rule, “Optimize(Ignore Position),” the Navigator™ application 208 may still attempt tosubmit orders at the best price(s) first, while ignoring the trader'snet position. Also, the Navigator™ application 208 may use the presetpercentages when there is a remaining order quantity after theapplication 208 places one or more orders at the best price.

In FIG. 5, a third option that could be used for any lifting orders is aconstant percentage option. If a trader selects this quantity allocationoption, the Navigator™ application 208 will allocate a quantityspecified by a trader between two or more tradeable objects according tothe defined percentages. Also, if this option is selected, theNavigator™ application 208 will not attempt to reduce a trader's netposition related to each tradeable object before using the quantityallocation percentages. Specific examples related to each order routingoption will be given below.

IV. Example Interfaces for Trading Multiple Tradeable Objects

FIG. 6 is a block diagram illustrating a graphical user interface 600for trading multiple tradeable objects in accordance with one exampleembodiment. The graphical user interface 600 includes a price axis 602.It should be understood that the axis 602 could also represent othervalues, such as yield or volatility rather than price. FIG. 6illustrates the price axis 602 as a vertical column; however, differentorientations of the price axis 602 could also be used, such ashorizontal or at some other angles to create a three-dimensional effect,for example. The price axis 602 is of a static type, and is described inU.S. patent application entitled “Click Based Trading With IntuitiveGrid Display of Market Depth,” referenced above, the contents of whichhave been incorporated above by reference. Accordingly, the values inthe price column are static. That is, they do not normally changeposition unless a re-centering, re-positioning, or other user initiatedcommand (such as clicking on a scroll button) is received. There-centering/re-positioning command is described more below.

The quantity values described in the bid and ask regions are dynamic.For example, they move up and down along the static axis to reflectmarket depth for the given tradeable object. So, for example, when abest available quantity moves up in price, quantities populate theappropriate price levels which using the preferred display shows thatthe best available quantity has just moved up. The same is true when thebest available quantity moves down in price such that quantitiespopulate the appropriate price level which shows that the best availablequantity has just moved down. Additionally, quantity values displayed inthe bid and ask regions are dynamic in the sense that the actualquantity itself may go up or down in magnitude at a particular pricelevel. For example, assume that the best bid price was 60 which had aquantity of 375. Then, assume that the quantity was reduced to 325.Accordingly, the quantity displayed would reflect the new quantity valueof 325, but the price of 60 would remain static.

In the embodiment illustrated in relation to FIG. 6, the tradinginterface 600 supports trading of two or more tradeable objects. Whenthe trading interface 600 displays data related to different tradeableobjects, the trading interface 600 may display names or abbreviationscorresponding to the tradeable objects selected by a user, such as “ED”and “GE” displayed in relation to columns 604A-B and 606A-B,respectively. Alternatively, if a trader selects the same tradeableobjects being traded at two different exchanges, the trading interface600 can display exchange indicators with respect to each column. Inanother embodiment, if a trader selects the same tradeable objectshaving different expiration dates, the trading interface 600 can displaythe expiration dates corresponding to each tradeable object. However, itshould be understood that any user-configurable indicators could also bedisplayed to distinguish between the data corresponding to two or moretradeable objects. It should be understood that indicators that aredisplayed in relation to the trading interface 600 may depend on thetrader's preferences.

The trading interface 600 preferably presents at least a portion oforder book information distributed by the host exchange(s). Thus, thetrading interface 600 includes a first tradeable object bid quantityregion 604A, a first tradeable object ask quantity region 604B, a secondtradeable object bid quantity region 606A, and a second tradeable objectask quantity region 606B. In addition to displaying bids and asks forthe individual tradeable objects, the trading interface 600 alsoincludes a region that displays consolidated values for the tradeableobjects. More specifically, a region 608A corresponds to theconsolidated bid quantities, and a region 608B corresponds to theconsolidated ask quantities. It should be understood that while FIG. 6displays both, individual and consolidated regions, in an alternativeembodiment, a user could select a different type of an interface. Forexample, a user may wish to use an interface that includes onlyconsolidated quantity columns 608A and 608B, or only separate columnscorresponding to bid and ask quantities for each tradeable object beingtraded by a trader, such as regions 604A-B and 606A-B. It should beunderstood that a user could also control layout and position of eachbid/ask region in relation to the price axis 602. For example, a usercould control the width of each column by selecting the vertical line onthe right side of a header row corresponding to each column, anddragging it to the appropriate width. A user could also minimize acolumn by simply sliding the right hand side of the bar all the way tothe left. The hidden columns could be redisplayed upon detecting apredetermined user input. For example, a user could right-click inrelation to any displayed columns to activate a menu with a number ofselection choices that could be used to change the layout of the tradinginterface 600.

In addition to displaying quantity related information, the tradinginterface 600 could also display other information. For example, thetrading interface 600 displays a first indicator 610 denoting thehighest traded price amongst the two tradeable objects, and a secondindicator 612 denoting the lowest traded price of the two tradeableobjects. It should be understood that different user-configurableindicators could also be used, and a user could define which tradedprices should be taken into consideration when determining the highestand lowest traded prices for the indicators. The interface 600 couldalso indicate the last traded price by highlighting a cell correspondingto that price. Different colors could be used to indicate whether theprice increased, decreased, or remained at the same level during auser-specified time period or compared to the previous last tradedprice.

The trading interface 600 could also display a combined last tradedquantity and a combined last traded price. In one embodiment, when twoor more tradeable objects of the combination trade at a specific pricelevel, the quantities being traded may be added to the last tradedquantity. When the price changes so that, for example, one of thetradeable objects trades at a different price level than the last tradedprice, the counter corresponding to quantities at that last traded pricemay be reset, so that when the orders are then again executed at thatprice, the last traded quantities can be added starting from the zeroquantity level.

The trading interface 600 also includes one or more quantity indicatorcells 614A and 614B. The quantity indicator cell 614A displays adefault, static quantity value specified via the setup window 500. Thequantity indicator cell 614B displays a quantity value that can bedynamically changing based on any user-configurable formula. In oneexample embodiment, the quantity indicator cell 614B can be linked toany other application, such as Excel, that a trader can use to defineone or more equations to be used for calculating the quantity values. Itshould be understood that the equation (s) can be based on anyuser-defined parameters, such as any market-related parameters,trader-related parameters, trader risk-related parameters, or thecombination thereof.

In one example embodiment, a trader can decide which of the twoquantities will be used in relation to an order being entered via thetrading interface 600. For example, a trader may deactivate one of thequantity cells. Alternatively, when a trader enters an order via one ofthe order entry regions, such as the bid quantity regions 604A-608A orthe ask quantity regions 604B-608B, in this example, the trader may usedifferent order entry inputs that could activate one of the quantitycells. For example, a right click in relation to one of the order entryregions could be used to activate the quantity indicator cell 614A suchthat the static quantity value could be used to set a quantity value foran order being entered via the trading interface. In such an embodiment,a left click in relation to one of the order entry regions couldactivate the quantity indicator cell 614B, and the dynamicallydetermined quantity could be used in relation to an order. It should beunderstood that different activation methods could also be used inrelation to the quantity cells.

A user can change the quantity value being displayed via the cell 614Aby selecting and typing a new number in the cell, or clicking on thecell to activate a quantity pad. FIG. 7 is a block diagram illustratingan example quantity pad 700. The quantity pad 700 includes a quantityindicator 702 defining a default quantity value that will be used to setthe quantity of any order. When a user enters a different quantity thanthat defined in the setup window 500, the user could set that quantityas a new default quantity by selecting a “Set as Default” selection icon704. Then, when a user selects a “Clear” icon 706, the default quantity702 will be reset to 0. While a user can change the quantity to anynumber, in one embodiment, the settable quantity value is preferablylower than the maximum quantity value specified in the setup window 500.In such an embodiment, if a new quantity value exceeds the specifiedmaximum quantity value, the quantity of any order will be automaticallyset to the maximum quantity value.

The quantity pad 700 also provides a number of options 710 defining anaction to be taken when a trader selects one of the numbers on thequantity pad. When a user selects an “Add” option, any quantity selectedon the quantity pad will be added to another quantity subsequentlyselected on the pad. For example, if a user selects “1” and “2” and “3,”the values will be added, and the quantity of 6 will be used in relationto any order until the quantity is reset. Upon selecting a “Calc”option, the selections made by a trader are treated as a string ofvalues. For example, if a user selects “1” and “2” and “3,” the quantityvalue will be set to “123.” Finally, selecting a “Replace” option willreplace the existing quantity with the newly selected value. Forexample, the result of pressing “1” and “2” and “3” will be “3.” In theexample shown in FIG. 7, the quantity pad 700 can be used in two modes,a quantity pad mode 712 and an order mode 714. If the quantity pad modeicon 712 is selected, the quantity pad 700 will be displayed. If theorder mode icon 714 is selected, the quantity pad in the order mode willbe displayed.

FIG. 8 is a block diagram illustrating an example quantity pad 800 in anorder type mode. The order type mode pad enables a trader to select adesired order type from a plurality of order type selection icons 802.The order types 802 include a limit order, a stop limit (“SL”) order, astop market (“SM”) order, and an order cancel order (“OCO”). In oneexample embodiment, when one of the order type icons is selected, acursor being displayed in relation to a trading interface willresponsively change so that a user can easily tell what order type isbeing used. For example, an abbreviation of each order type can beperiodically displayed in relation to the cursor so that when the stopmarket order icon is selected, letters “SM” can be displayed in relationto the cursor. However, it should be understood that differentindicators of order types could also be used.

Whenever one of the order type icons is selected, a “Time in Force”field 810 and an “Order Sub-Type” field 812 can be enabled so that atrader can further define more parameters for each order type. Using theTime in Force field 810, a trader can designate a time period duringwhich the order type will be kept active. According to a defaultsetting, any selected order type can be a good till day (“GTD”) order,so that any order that is entered by a trader will be continue workinguntil the end of a current trading session. However, it should beunderstood that different options could be provided as well. Forexample, another selection option could include a good till cancel(“GTC”) order, so that the order will be valid until a trader cancels anorder or until a tradeable object expires. The Order Sub-Type optionallows a trader to further define each order type. As illustrated inFIG. 8, the order sub-type field can be left blank so that no particularorder sub-type will be used. Some of the order sub-types that could beselected by a trader could include a “Fill or Kill” or “Immediate orCancel,” as well as any other currently used or trader-configured ordersub-types.

When a trader selects the stop limit order selection icon, the tradercan submit a stop limit order, and can define additional orderparameters via a Trailing Stop field 806, a Stop Limit Offset field 808,and a Time in Force field 810. The Trailing Stop field 806 allows atrader to set the stop order so that it trails with the market. In oneembodiment, the trailing distance may equal a distance between a pricelevel where the stop order was entered and a price level correspondingto the last traded price. However, different embodiments are possible aswell, and the trailing distance could be user-configurable. The StopLimit Offset field 808 allows a trader to set a number of ticks betweenthe stop limit price and the stop entry price. When a trader selects theSM icon among the icons 802, the trader can submit a stop market order,and can further modify the stop market order using the trailing stopfield 806 and the time in force field 810. Similarly to the stop limitorder, a trailing distance for the stop market order can, by default, beset to a distance between a price level where a stop order was enteredand a price level of the last traded price.

Upon detecting a selection of an OCO icon order type, a trader cansubmit an order cancels order combination (also referred to as “onecancels other”), and an OCO stop limit field 804, the trailing stopfield 806, and the stop limit offset 808 will be enabled. The OCO stoplimit field 804 can be used to designate if an order should be an OCOstop limit or stop market order, for example. By default, if a check boxis not selected, the OCO order will be a stop market order. It should beunderstood that the OCO order can include a number of order combinationoptions, so that a trader could submit two stop orders, two limitsorders, or a combination of a limit order and a stop order.

In one example embodiment, rather than submitting a standard OCOincluding a limit order at one price level and a stop order at a secondprice level, a trader could submit an OCO for two different tradeableobjects at the same price level. For example, a trader could enter suchan OCO via the combined tradeable object columns. In such an embodiment,two orders corresponding to the entered order quantity could be sent toeach respective exchange, and upon detecting one of the orders gettingfilled, the other order could be cancelled. If one of the orders is onlypartially filled, the order quantity corresponding to the second ordercould be responsively lowered to reflect the pending quantity of thepartially filled order. A trader could also place an OCO via one of themarket depth regions corresponding to the individual tradeable objects.When the Navigator™ application 208 detects an OCO being input via amarket depth region corresponding to one of the tradeable objects, itwill automatically place a second order for the other tradeable object,and may link the orders to be part of the entered OCO. Differentembodiments are possible as well.

It should be understood that the quantity pad as well as the order typeselection pad could be combined and the combination of the orderquantity/order type pads could be displayed in relation to the tradinginterface of the example embodiments. Also, it should be understood thata trader could control the selection icons to be displayed in relationto the combined order quantity/type pad. FIG. 9 illustrates twodifferent combined order/quantity pads. However, different embodimentsare possible as well.

Referring back to FIG. 6, the trading interface 600 can also display netposition information. In the embodiment illustrated in FIG. 6, netposition information is displayed at the bottom of the trading interfaceand is duplicated on both sides of the price axis 602. The net positioninformation includes a first net position indicator 616 for the firsttradeable object, a second net position indicator 618 for the secondtradeable object, and a consolidated net position indicator 620. In theexample given in reference to FIG. 6, the first net position indicator616 displays a net position of 10, the second net position indicator 618displays a net position of −20, and the consolidated net positionindicator 620 displays a consolidated value for the combination of thetradeable objects, which is −10 in this example. In one exampleembodiment, a user can click on any of the net position values toquickly populate the quantity field 614 with an absolute value of theselected net position value. For example, clicking on −20 will populatethe quantity field with a quantity of 20. In one example embodiment, ifthe selected quantity is higher than the maximum quantity defined in thesetup window 500, the quantity field 614 will be populated with themaximum quantity of the setup window.

The trading interface 600 also displays data related to working orders.In the example embodiment, working orders are displayed on the left handside of the depth window in a working orders column 622. The workingorders column 622 shows buy and sell working order quantities. If a buyorder and a sell order are resting at the same price level, the workingorder column 622 will display an indicator, such as an “x,” between thebuy quantity and the sell quantity. However, different embodiments arepossible as well to indicate quantities corresponding to buys and sells.In FIG. 6, the working order column 622 shows four working orders, twoworking sell orders 624, 626 at the price levels of 9790.0 and 9789.0,and a summation of two working buy orders 628 at the price level of9784.0. The values corresponding to the working quantities or the cellsthat display working quantities can be color coded so that a tradercould quickly distinguish a buy order working quantity from a sell orderworking quantity. The trading interface 600 also includes a totalworking quantity cell 630 that displays a total working quantity. Inthis example embodiment, the total working quantity is a buy workingquantity of 10 and a sell working quantity of 20. Also, it should beunderstood that the working quantity indicators can be color coded toindicate if the working order quantity was split between two exchanges,or if the total order quantity was submitted to only one of theexchanges. Alternatively, if an order quantity was split between twoexchanges, the working quantity column can show specific quantity valuesthat were sent to each exchange. Also, two different working quantitycolumns could be created with one of them corresponding to a working bidorder column, and another corresponding to a working ask order column.

It should be understood that a trader could right click on any workingorder indicator and could drag it to another location corresponding to adifferent price level. The action of dropping a working order indicatorat a new price level will result in attempting to delete the order atthe old price level and entering a new order at a new price level. Also,left clicking on a working order quantity may initiate a process ofattempting to delete an order at one or more exchanges. If the workingorder quantity is associated with two or more orders pending at two ormore exchanges, the user action will initiate the process of attemptingto delete orders pending at the multiple exchanges, based on thequantity allocation rules that were used to allocate the quantitiesbetween two or more tradeable objects. The process of deleting an ordermay involve sending one or more messages including requests to deleteone or more working orders from one or more exchanges. Similarly, anaction of left clicking on the total working order quantity field 630may initiate a process of attempting to delete all working orders beingdisplayed via the trading interface. In one example embodiment, thesequence in which the orders are deleted may be based on their positionsin the market. For example, orders closer to the inside market price canbe deleted first before those which are farther away. Such an embodimentmay be beneficial in fast moving markets since the chance of an ordergetting filled before it is deleted is lower. It should be understoodthat different user initiated actions from those of right clicking orleft clicking could also be used to initiate the functionality describedabove as well as different functions.

The trading interface 600 may also display details corresponding to thelast order submitted by a trader. In FIG. 6, the details related to thelast order are displayed at 632. In the example embodiment, the orderinformation defines an order type and an order quantity submitted foreach tradeable object. More specifically, as illustrated in FIG. 6, thelast submitted order was a join order and included an order to buy 5lots of GE at the price level of 9784, and an order to buy 5 lots of EDat the price level of 97.84. It should be understood that theinformation corresponding to the last order could be displayed anywherein relation to the trading interface 600.

A trader can also view an order pane that can be used to display anyworking orders pending at one or more exchange. FIG. 10 is a blockdiagram illustrating an example order pane window 1000. The order panewindow 1000 shows working orders at each price level, and the order inwhich order information is displayed in the order pane window may dependon when the orders were sent to or were received at one or moreexchanges. However, different embodiments are possible as well. In oneembodiment, a trader could activate the order pane window 800 byclicking on one of the locations that displays working order quantities.When the order pane window 800 is activated, it may be displayed inrelation to the trading interface, such as at the center correspondingto a working order indicator in relation to which the order pane window800 was activated, or at some other location selected by a trader. Inone example embodiment, the order pane window may display data relatedto a working order in relation to which the order pane window wasactivated. Alternatively, the order pane window 800 could display datacorresponding to all working orders of the tradeable objects beingtraded via a trading interface in relation to which the order panewindow was activated. It should be understood that different activationmethods could also be used, and data being displayed via the order panewindow 800 could be based on user configuration.

A trader could also use the data displayed via the order pane window 800to change order parameters corresponding to each working order displayedvia the order pane window. For example, a trader could change a pricelevel or a quantity value corresponding to each working order. A tradercould change the order quantity corresponding to each working order byclicking on the quantity corresponding to the specific working order andentering a desired quantity. Alternatively, different user inputs couldbe used to incrementally increase or decrease the displayed orderquantity. In one embodiment, when a trader right-clicks or left-clickson a working order quantity cell, the user actions may trigger the orderquantity to be automatically increased or decreased by a predeterminedamount, respectively. Alternatively, rather than changing an orderparameter automatically upon detecting a user input, a confirmation iconcould be displayed to a user in the order pane window 1000, such as “OK”in the Chg column 1018, and the user could select the OK icon to apply achange to the order parameter. If a user input is interpreted as arequest to lower an order quantity for a working order, the tradingapplication 206 may send a request to a respective exchange to delete aportion of an order. Alternatively, depending on the exchange settings,a request could be sent to delete the working order, and a new orderwith a modified order quantity may be submitted instead. Similarmessages may be generated upon detecting a request to increase the orderquantity. Also, a trader could delete any of the working ordersdisplayed in the order pane window 1000, by selecting an indicatordisplayed in a cell of the Del column 1002 corresponding to an order tobe deleted. Upon detecting a user input that is associated with arequest to modify one or more order related parameters, the Navigator™application 208 could communicate the changes to the trading application206, and the trading application 206 could then generate and communicateany necessary requests to one or more electronic exchanges.

Referring to FIG. 10, the order pane 1000 includes a plurality offields: a “Del” field 1002, a “Tradeable Object” field 1004, a Quantity(“Qty”) field 1006, a Price Field 1008, a Stop Price field 1010, anAccount Number (“Acct#”) field 1012, an Order Type (“Type”) field 1014,a Time Stamp field 1016, and a Change Indicator (“Chg”) field 1018.According to one example embodiment, a user can configure differentrules defining when the order pane window 1000 should be activated. Forexample, a user may want to have the order pane window 1000 activatedimmediately upon detecting a user selection means over one of theworking orders indicators being displayed on the trading interface 600.Alternatively, the order pane window could be displayed after somepredetermined time period upon detecting a trigger to activate the orderpane window. It should be understood that the order pane window 1000could be displayed upon detecting any user configurable input.Similarly, user inputs could be defined to trigger an action of hidingthe order pane window 1000. Also, different fields could be displayed inrelation to the order pane 1000, such as a trailing offset field, andone or more fields can be automatically hidden if there is no data to bedisplayed in relation to them.

Referring back to FIG. 6, a trader could also submit orders using thetrading interface 600. The orders can be submitted using methodsdescribed in U.S. Pat. No. 6,772,132 and U.S. Pat. No. 7,127,424,referenced above. For example, orders may be submitted by clicking, suchas using a mouse or other pointing device, within a region of thetrading interface 600 at a level of the desired price being displayed onthe price axis. In general, if a trader clicks on any cell in the bidcolumns displayed to the left of the price axis 602, the trader willenter a buy order. Then, if a trader clicks on any cell in the askcolumns displayed to the right of the price axis 602, the trader willenter a sell order. However, different results are possible as welldepending on the position of the columns in relation to the price axis602.

In one example embodiment, if a trader clicks within any cell of theconsolidated bid or sell regions, such as regions 608A and 608B in FIG.6, the Navigator application 208 may use the order rules defined in theset up window 500 to allocate the order quantity between two or moretradeable objects. As explained in reference to the order quantityallocation rules, the Navigator application 208 may use one of thequantity allocation rules based on the type of an order to which aquantity allocation rule is to be applied. Regardless of which quantityallocation rule is applied, a user input selecting a cell in theconsolidated bid quantity column 608A will result in entering one ormore buy orders, and a user input selecting a cell in the consolidatedask quantity column 608B will result in entering one or more sellorders.

When a user input is detected in relation to one of the cellscorresponding to the bid or ask regions of each individual tradeableobject, the Navigator application 208 will not use the rules defined inthe set up window 500, and orders will be entered for a single tradeableobject depending on where the user makes his selection on the tradinginterface 600. For example, clicking on any cell in the bid region 606Awill result in submitting a buy order for the tradeable object “GE,” andclicking on any cell in the ask region 604B will result in submitting asell order for the tradeable object “ED.”

In one example embodiment, by default, all orders being submitted viathe trading interface window 600 may be GTD limit orders. However, itshould be understood that a trader could submit different order types byselecting a desired order type via the order pad. Also, a cursor beingdisplayed in relation to the trading interface 600 could indicate anorder type being used by a trader. As mentioned in earlier paragraphs, acursor could display user-designated letters to indicate different ordertypes. For example, letters SL, SM, or OCO could be used to designate astop limit order, a stop market order, and an order cancel order,respectively. When a user selects an OCO order, a cursor could alsochange colors to indicate if a user is entering the first order or thesecond order corresponding to the OCO.

As mentioned in earlier paragraphs, a user could modify the tradinginterface 600 according to the user's preferences. For example, a usermay wish to view only the consolidated depth columns, rather than thecombination of both, the consolidated and individual tradeable objectcolumns. FIG. 11 is a block diagram illustrating a trading interface1100 providing a consolidated market information display type. In oneembodiment, a trader could activate the trading interface of this typeby activating a pop-up menu and selecting a “consolidated only”selection choice. The pop-up interface could be activated upon detectinga predetermined user input, such as a right click in the area of thedepth information columns, or some other input. Similarly, a trader maywish to modify the trading interface 600 so that it only includes depthcolumns corresponding to each individual tradeable object. FIG. 12 is ablock diagram illustrating an example trading interface 1200 thatprovides a split tradeable object market information display type. Itshould be understood that the modified trading interfaces could includeall elements described above with reference to FIG. 6.

FIG. 13 is a block diagram illustrating an example trading interface1300 that displays market depth information for two different tradeableobjects being traded in different tick sizes. The example tradinginterface 1300 includes a combination of consolidated market informationcolumns 1302 and 1304, and separate columns 1306-1312 for each tradeableobject. In the example embodiment, the trading interface 1300 displaysmarket information related to two tradeable objects “FTBX” and “ZB.” Thetradeable object ZB trades in full ticks, while the tradeable objectFTBX trades in half ticks. A difference in the granularity of the twotradeable object can be seen in relation to the individual tradeableobject columns, such as the ask columns 1306 and 1310. In one exampleembodiment, a user could submit orders by clicking on cells associatedwith non-tradeable prices, such as a cell 1314 of the ask column 1310corresponding to the tradeable object ZB. In such an embodiment, when auser clicks on a cell associated with a non-tradeable price, an ordermay be placed at a price level corresponding to the next tradeable priceavailable for that tradeable object. For example, if a trader attemptsto submit a sell order at one of the non-tradeable price levels in theask quantity region 1310, such as 108075, the order may be placed at abetter ask price, such as 108080. However, the price selection could beuser configurable, and the order could alternatively be placed at108070. Similar methods for selecting prices could apply to any buyorders being placed via the bid quantity region 1312.

Also, when an order for a combination of tradeable objects is placed sothat it may result in a sweep of the market, and there are some pricelevels with no available quantities for one of the tradeable objects, arule may be defined to send any possible lifting orders first, and thensend one or more joining orders for the remaining order quantity. Insuch an embodiment, if there are quantities available for two tradeableobjects at a single price level, the quantity allocation rules could beused to allocate the quantities between the tradeable objects, whiletaking all available quantity corresponding to a single tradeable objectat the better price. For example, referring to FIG. 13, when an order tosell a quantity of 700 is entered at a price level of 108025, a quantityof 71 can be first lifted from the price level of 108045, then aquantity of 105 can be lifted from 108040, then the quantities can beallocated between the available quantities at the price level of 108035,then a quantity of 42 can be lifted from the price level of 108030. Ifthere is still any remaining order quantity, it can be allocated betweenthe tradeable objects at the price level of 108025. However, differentembodiments could also be used based on the user preferences.

As shown in relation to FIG. 13, a trader may wish to view marketinformation corresponding to two or more tradeable objects that tradeusing different tick intervals. In such an embodiment, the cellscorresponding to the non-tradeable price levels will be unpopulatedsince there will be no quantities available at those price levels. Toavoid showing empty spaces, a trader may wish to consolidate the pricelevels and their corresponding bid and ask quantities. If priceconsolidation is used, two or more price levels may be combined into asingle “consolidated” price level, and the outstanding bid and askquantities of the consolidated price levels may then be the sum of theoutstanding quantities of the un-consolidated price levels that havebeen combined to form the consolidated price level. Using priceconsolidation, a trading screen may then display information from agreater number of price levels on the trading screen than it would beable if it did not use price consolidation. The methods and displaysthat can be used for price/quantity consolidation are described in U.S.patent application Ser. No. 10/304,248, entitled “Method and Interfacefor Consolidating Price Levels on a Trading Screen,” filed on Nov. 26,2002, now U.S. Pat. No. 7,577,602, the contents of which are fullyincorporated herein by reference.

However, when the prices and the corresponding quantities areconsolidated, some of the information that may be valuable to a traderwill not be shown. For example, if two bid prices are consolidated, atrader will be able to see only the combined quantity corresponding tothe consolidated prices, and will not be able to see how much of theshown quantity is actually at the better price than that shown. Thesimilar limitation is present in relation to consolidated ask prices andquantities. When the prices and quantities are consolidated, it may becertainly advantageous for a trader to be able to tell what quantitiesare available at the better price levels than those shown so that thetrader can better assess his potential profit or loss.

In one example embodiment, when the prices are consolidated on the bidside of the market, the prices and quantities may be rounded down, whilethe prices and quantities may be rounded up in relation to the ask sideof the market. For example, if a tradeable object ticks in half-ticks,and the prices are consolidated to show full ticks, bid quantitiescorresponding to the price level of 1.5 may be consolidated with bidquantities at the price level of 1.0, and the bid quantities that wererounded down to the lower price level will correspond to the “betterthan best” bid quantities. Similarly, for example, if there are askquantities at the price level of 2.5, they will be consolidated with askquantities at the price level of 3.0, and the quantities that wererounded up to the higher ask price level will correspond to the “betterthan best” ask quantities.

In addition to determining better than best quantities based on thequantities being used for consolidation, better than best quantities canbe based on other data as well. For example, an exchange may provideimplied prices and quantities. Implied prices and quantities are derivedfrom direct orders in a combination of outright markets and spreads orstrategies. For example, orders in outright markets may imply orders(often referred to as an “implied in” orders) into a spread market, andorders in a spread market plus orders in an outright market may implyorders (often referred to as an “implied out” orders) into anotheroutright market. Alternatively, rather than receiving implied prices andquantities from an electronic exchange, the implied values could becomputed at a network entity other than an exchange using market data aswell as other data. A system and method for determining implied marketinformation has been described in U.S. patent application Ser. No.10/403,374, entitled “System and Method for Determining Implied MarketInformation,” filed on Mar. 31, 2003, now U.S. Pat. No. 7,765,134, thecontents of which are fully incorporated herein by reference.

According to one example embodiment, a trading interface may provide anindicator in relation to the consolidated price levels to indicate thatsome of the quantities displayed in relation to the consolidated pricelevels may be at better prices than those shown. It should be understoodthat the indicators can take any user-configurable formats, ranging fromgraphical indicators to numerical indicators including actual numericalvalues of the better than best quantities.

FIG. 14 is a block diagram illustrating an example trading interface1400 that shows better than best indicators in relation to consolidatedmarket depth. The example trading interface 1400 shows consolidatedmarket information of FIG. 13, where a consolidated price axis 1412 isformed by consolidating two price levels into one, with prices andquantities corresponding to bids being consolidated to the next lowerprice level, as shown at 1404, and with prices and quantitiescorresponding to asks being consolidated to the next higher price level,as shown at 1402. Regions 1406 and 1410 show “better than best”quantities displayed in locations associated with the correspondingprice levels.

It should be understood that different indicator types could also beused, and the example embodiment are not limited to the format used inrelation to FIG. 14. For example, rather than using numericalindicators, graphical indicators could be used instead, such as anasterisk, or any other user-defined indicators. In one exampleembodiment, the graphical indicators could be color-coded to indicatedifferent quantity levels corresponding to specific “better than best”quantities. Also, if more than two price levels are consolidated, morethan two better than best quantity values could be displayed in relationto a corresponding consolidated price level. For example, if three pricelevels are consolidated, each cell in the regions 1404 and 1410 could bedivided to form two sub-cells, such that each sub-cell corresponds tothe better than best price level and can display better than bestquantities corresponding to those price levels. In general, the numberof quantity values corresponding to better than best quantities is oneless than the number of consolidated price levels. For example, if fourprices levels are consolidated, three better than best quantity valuescan be displayed in relation to the consolidated price level.

Order Quantity Allocation Examples

As mentioned in earlier paragraphs, a user may define a plurality ofquantity allocation rules for different order types. In one exampleembodiment, the quantity allocation rules and order types may be definedbased on a price level at which a user places an order compared to theprice levels of other orders pending in the market. For example, a usermay define different types of rules depending on whether an order is alifting order or a joining order. According to the example embodiments,a lifting order occurs when a buy order is entered at a price levelwhere a resting sell order exists, or when a sell order is entered at aprice level where a resting buy order exists. A joining order occurswhen an order is not a lifting order. For example, a joining buy orderoccurs when a trader places an order at a price level where either aresting buy order exists, or at a price level below both tradeableobjects' lowest selling prices. Similarly, a joining sell order occurswhen a trader places an order at a price level where either a restingsell order exists, or above both tradeable objects' highest buy prices.

FIG. 15 is a flowchart describing an example method 1500 for settingorder parameters based on an order type being input by a trader. Itshould be understood that each block may represent a module, segment, orportions of code, which includes one or more executable instructions forimplementing specific logical functions or steps in the process.Alternate implementations are included within the scope of the preferredembodiment of the present invention in which functions may be executedout of order from that shown or discussed, including substantiallyconcurrently or in reverse order, depending on the functionalityinvolved, as would be understood by those reasonably skilled in the artof the present invention. The flowchart 1500 will be described inrelation to the elements of the client terminal in FIG. 2. However, itshould be understood that more, fewer, or different components couldalso be used to execute the method 1500.

Referring to FIG. 14, at 1502, the Navigator™ application 208 detects auser input in relation to one of the combined tradeable object columnsto place an order for a predetermined order quantity. For example, theNavigator™ application 208 may detect a user clicking on one of thelocations of the combined columns of the trading interface, such as oneof the locations of the combined columns 608A-B of the trading interface600 described in reference to FIG. 6.

At step 1504, the Navigator™ application 208 determines if the enteredorder is a joining order or a lifting order. If the order is a liftingorder, at step 1506, the Navigator™ application 208 applies liftingorder rules to determine how the entered quantity should be allocatedbetween two or more tradeable objects. Referring back to step 1504, ifthe Navigator™ application 208 determines that the order requestcorresponds to a joining order, at step 1508, the Navigator™ application208 applies joining order rules to determine how the entered quantityshould be allocated between two or more tradeable objects. In eithercase, the Navigator™ application 208 may then provide the quantityallocation data to the trading application 206, which may thenresponsively submit one or more orders to the electronic exchange(s)based on the provided quantity allocation data, as shown at 1510.

The subsequent examples will be used to describe different methods forallocating order quantities between two or more tradeable objects basedon different order types and order allocation rules. The examples givenbelow will refer to market depth data shown in FIG. 16. FIG. 16 is ablock diagram illustrating a trading interface 1600 that displays marketrelated information for two tradeable objects. The trading interface1600 is a combined trading interface and includes market depthconsolidated regions as well as market depth regions corresponding tothe individual tradeable objects. More specifically, market depth bidregions include a market depth consolidated bid region 1604, and two bidregions 1606 and 1608 corresponding to market data of each individualtradeable objects. Then, market depth ask regions include a market depthconsolidated ask region 1610, and two ask regions 1612 and 1614corresponding to market data of each individual tradeable objects. Thebid and ask regions are displayed in relation to a price axis 1602.

FIG. 17 is a block diagram illustrating a table 1700 that includes aplurality of quantity allocation values determined for a plurality oflifting orders based on optimization rules that ignore a trader's netposition. When the Navigator™ application 208 uses the optimization rulethat ignores a trader's net position, the Navigator™ application 208will attempt to allocate the quantity to the best price. Also, if thereis enough resting order quantity at the best price level for the twotradeable objects, the Navigator™ application 208 may use defaultpercentages to determine how the breakdown will occur. Table 1700includes a first tradeable object percentage (TO1%) field 1702 and asecond tradeable object percentage (TO2%) field 1704 that defineallocation percentages to be used for any quantity entered by a trader.The first and second tradeable objects in table 1700 correspond to FTNLand ZN in the trading interface 1600 of FIG. 16. Table 1700 alsoincludes an order type field 1706 (Buy/Sell), a quantity field 1708defining a desired order quantity, a price field 1710 defining an orderprice, and quantity allocation fields 1712 and 1714 illustrating how theNavigator™ application 208 would allocate the quantity to each tradeableobject based on the quantity available in the market illustrated in FIG.16.

The first five rows 1716-1724 of table 1700 define the quantityallocation percentages according to which 100% of the quantity should beallocated to the tradeable object. Referring to the first row 1716 inthe table 1700, a buy order of 5 lots is entered at 111195. Because,based on the optimization rule, the Navigator™ application 208 willattempt to place an order at the best price level first before using anyquantity allocation rules, the Navigator™ application 208 will ignorethe allocation rules and attempt to first place a buy order of 5 lotsfor the second tradeable object TO2. It should be understood that theNavigator™ application 208 may communicate the quantity allocation datato the trading application 206, and the trading application 206 mayresponsively submit one or more orders to the electronic exchange(s).Similarly, the order quantity of 50 in the second row 1718 will be alsoallocated to the second tradeable object. Referring now to the third row1720 in the table 1700, if a user wishes to buy 1000 lots of thecombined tradeable objects at 111195, the Navigator™ application 208will attempt to allocate the quantity of 582 to the second tradeableobject (TO2), and then allocate the remaining quantity based on therules. Therefore, in addition to the buy order at the best price, theNavigator™ application 208 will attempt to place a buy order for 418lots for the first tradeable object.

As another example, if an order to buy 2000 lots is detected, theNavigator™ application 208 will allocate the quantity by placing anorder to buy 582 lots of TO1 at 111195, since 111195 is the bestavailable price. Then, the Navigator™ application 208 will use theallocation percentage rules to determine the allocation of the remainingquantity of 1718 at the next price level. Since there are only 583 lotsof TO1 pending at 111200, the Navigator™ application 208 will place anorder to buy 583 lots of TO1 at that price so that the maximum availablequantity will be allocated to the TO1, and the remaining order quantityof 835 will be submitted to buy TO2 at 111200. Therefore, as shown inTable 1700, the total order quantity of 583 would be submitted for TO1,and the order quantity of 1417 would be submitted for TO2. The samemethod would be applied to allocate the order quantity of 3000 betweenthe two tradeable objects, where a plurality of orders would be sent tobuy 1099 lots of TO1, and 1901 lots of TO2.

Rows 1726-1734 in the second portion of Table 1700 correspond toquantity allocation rules, according to which an entered quantity willbe equally divided between the two tradeable objects. Similarly to theearlier examples, the Navigator™ application 208 will attempt to buy atthe best price before applying the allocation percentages. Referring tothe row 1730, when the Navigator™ application 208 detects an order tobuy 1,000 lots at 111195, the Navigator™ application 208 will attempt toplace a first order for 582 lots of TO2, and then allocate the remainingquantity equally between the two tradeable objects at the price of111200, i.e., 209 lots to each tradeable object. Therefore, as shown inTable 1700, an order to buy 209 lots of TO1 at the price level of111195, and one order to buy 791 lots at 111195 will be submitted to therespective exchanges. The same methods can also be used to determineorder quantity allocations for other orders shown in Table 1700.

The Navigator™ application 208 may also apply different optimizationrules. Based on another optimization rule, the Navigator™ application208 may attempt to place orders at the best price levels first. Then, ifthere is any remaining quantity, the Navigator™ application 208 mayattempt to flatten any net positions being held by a trader in relationto the tradeable objects before applying any percentage allocationrules. FIG. 18 illustrates an example table 1800 that includes aplurality of quantity allocation examples for a number of lifting ordersusing optimization rules that take into account a trader's net position.Table 18 includes a plurality of columns, a TO1% column 1802, a TO2%column 1804, an Order Type column 1806, a Quantity column 1808, a Pricecolumn 1810, and Quantity allocation columns 1812 and 1814.

Referring to Table 18 in rows 1816 and 1818, if an order to buy 5 or 50lots is detected, the Navigator™ application 208 will place an order tobuy 5 or 50 lots of TO2, since there is enough pending quantity for TO2at the best available price of 111195. Then, if an order to buy 1,000lots is detected, the Navigator™ application 208 will place an order tobuy 582 lots of TO2, since a quantity of 582 is the maximum orderquantity available at the best price. The Navigator™ application 208will then allocate the remaining quantity between the tradeable objectsbased on the allocation percentages defined by a trader. Based on theallocation percentages and a rule to flatten a net position first, theNavigator™ application 208 will allocate 100% of the remaining quantityto TO1, thus, resulting in the total allocation of 418 lots to TO1 and582 lots to TO2, as shown at 1820.

The quantity of 2000 lots and 3000 lots would be allocated in thesimilar manner, with the final quantity allocations shown at 1822 and1824. In the lower half of Table 1800, the allocation percentages areset to 50% for each tradeable object, and the allocation quantity valuesare shown for 5, 50, 1000, 2000, and 3000 lots respectively at1826-1834.

FIG. 19 illustrates an example table 1900 that includes a plurality ofexample quantity allocations for a plurality of lifting orders based onconstant percentage rules. Using the constant percentage rules, theNavigator™ application 208 will attempt to allocate an entered quantitybased on the supplied percentages. Using this quantity allocationoption, the Navigator™ application 208 will ignore the trader's currentposition in each tradeable object as well as any resting availableorders. Table 1800 includes the same set of table columns 1902-1914 asthose described in the tables above. The top five rows 1916-1924 ofTable 1900 correspond to the percentage allocation rules according towhich 100% of any quantity entered by a trader will be allocated to thefirst tradeable object. The bottom half of Table 1900 corresponds to thequantity allocation rules where one half of any entered quantity will beallocated to the first tradeable object, while the remaining half willbe allocated to the second tradeable object. It should be understoodthat in some cases, such as when a quantity of 5 is to be equallydivided between two tradeable objects, the Navigator™ application 208may use one or more user-predefined rules to determine how to allocatean odd number of lots, such as one lot in this example, between thetradeable objects. In the example provided in Table 1900 at 1926, theodd quantity value will be allocated to the first tradeable object,thus, resulting in the quantity allocation of 3 lots to the firsttradeable object, and 2 lots to the second tradeable object.

FIG. 20 illustrates an example table 2000 that includes a plurality ofquantity allocation examples for a number of joining orders usingconstant percentage rules. In the example embodiment of FIG. 20, theNavigator™ application 208 will break down an order quantity associatedwith any joining order based on the supplied percentages. Table 2000includes a plurality of columns 2002-2014, the types of which have beendescribed in reference to the preceding figures. In the example shown inTable 20, the first five rows 2016-2024, correspond to the percentageallocation rule, according to which, 100% of any entered quantity willbe allocated to the first tradeable object. Then, the next five rows ofTable 20 correspond to the examples where any entered quantity isequally divided between two tradeable objects, with the priority givento the first tradeable object in cases where an odd quantity valuecannot be allocated between the two tradeable objects.

It should be understood that the quantity allocation rules describedabove are only examples, and more, fewer, or different rules could bedefined as well. Also, the rules could take many different formats andare not limited to defining percentages. For example, the quantityallocation rules could be based on any user-defined formulas, and theformulas could dynamically change based on market conditions. In oneembodiment, the quantity allocation rules could be dynamically changedupon detecting that an exchange is unavailable. For example, if atradeable object combination includes two tradeable objects being tradedat two different exchanges, the Navigator™ application 208 could stopallocating any quantity to a tradeable object being traded at anunavailable exchange. Alternatively, the Navigator™ application 208could modify the quantity allocation rules so that the entire orderquantity associated with an entered order will be allocated to atradeable object associated with an active exchange. Further,alternatively, in an embodiment where at least some of the enteredquantity is to be allocated to a tradeable object associated with anunavailable exchange, the Navigator™ application 208 could block theorder entirely, and not allocate any quantity corresponding to atradeable object associated with an available exchange to a differenttradeable object. It should be understood that an action taken by theNavigator™ application 208 upon detecting that an exchange isunavailable may be user configurable. Also, it should be understood thatdifferent modifications of the quantity allocation rules are possible aswell.

In addition to modifying quantity allocation rules, the Navigator™application 208 could also alert a user that one of the exchanges isunavailable. An alert signal could take many different formats, andcould be an audio signal, a graphical signal, or a combination thereof.In one embodiment, an alert could be provided via a trading interface,such as the one illustrated in FIG. 6. For example, upon detecting thatan exchange is unavailable, a color being used in relation to marketdepth regions associated with a tradeable object being traded at anunavailable exchange could be automatically changed to any user-definedcolor. Alternatively, the market depth regions could start flashing, ora message could be displayed via a trading interface, such as in astatus pane of the trading interface. It should be understood thatdifferent alerts could be used as well.

The above description of the preferred embodiments, alternativeembodiments, and specific examples, are given by way of illustration andshould not be viewed as limiting. Further, many changes andmodifications within the scope of the present embodiments may be madewithout departing from the spirit thereof, and the present inventionincludes such changes and modifications.

It will be apparent to those of ordinary skill in the art that methodsinvolved in the system and method for trading multiple tradeable objectsin an electronic trading environment may be embodied in a computerprogram product that includes one or more computer readable media. Forexample, a computer readable medium can include a readable memorydevice, such as a hard drive device, a CD-ROM, a DVD-ROM, or a computerdiskette, having computer readable program code segments stored thereon.The computer readable medium can also include a communications ortransmission medium, such as, a bus or a communication link, eitheroptical, wired or wireless having program code segments carried thereonas digital or analog data signals.

The claims should not be read as limited to the described order orelements unless stated to that effect. Therefore, all embodiments thatcome within the scope and spirit of the following claims and equivalentsthereto are claimed as the invention.

1. A trading terminal comprising: a processor configured to generate amarket display having: a plurality of price levels along a price axis;at least one of a bid indicator and an ask indicator, where the bidindicator is displayed at a first bid level of the plurality of pricelevels corresponding to a bid for a first tradeable object and where theask indicator is displayed at a first ask level of the plurality ofprice levels corresponding to an ask for the first tradeable object; andat least one of an equalized bid indicator and an equalized askindicator, where the equalized bid indicator is displayed at a secondbid level of the plurality of price levels corresponding to a bid for asecond tradeable object being different from the first tradeable object,and where the equalized ask indicator displayed at a second ask level ofthe plurality of price levels corresponding to an ask for the secondtradeable object.
 2. The trading terminal of claim 1 where the bidindicator, ask indicator, equalized bid indicator, and equalized askindicator are moveable relative to the price axis.
 3. The tradingterminal of claim 2 where the bid indicator and the ask indicator aremoveable relative to the price axis according to changes for the firsttradeable object.
 4. The trading terminal of claim 2 where the equalizedbid indicator and the equalized ask indicator are moveable relative tothe price axis according to changes for the second tradeable object. 5.The trading terminal of claim 1 where the equalized bid indicatorrepresents an equalized bid quantity determined according to a quantityof the bid for the second tradeable object and a quantity equalizervalue and the equalized ask indicator represents an equalized askquantity determined according to a quantity of the ask for the secondtradeable object and the quantity equalizer value.
 6. The tradingterminal of claim 1, further comprising: an order entry region alignedwith the price axis and having a plurality of locations, eachcorresponding to an associated price level of the price axis; and a userinput device configured to receive a user selection of one of theplurality of locations, where a trade order is submitted in response toreceiving the user selection.
 7. The trading terminal of claim 6 wherethe market display further comprises a static quantity field having adefault static quantity for order entry in the order entry region. 8.The trading terminal of claim 6 where the market display furthercomprises a dynamic quantity field having a dynamic quantity for orderentry in the order entry region, where the dynamic quantity is linked toa formula and is dynamically updated based on the formula.
 9. Thetrading terminal of claim 1, further comprising an order windowdisplayed relative to the price axis and having working order relatedinformation, where the order window is activated in response to a useractivation received via a user input device.
 10. The trading terminal ofclaim 9 where the working order related information comprises at leastone working order parameter.
 11. The trading terminal of claim 10 wherethe at least one working order parameter is changeable according to auser input received via the user input device.
 12. The trading terminalof claim 10 where the at least one working order parameter comprises atleast one of a working order quantity and a working order price.
 13. Thetrading terminal of claim 1, where the market display further comprisesat least one working order indicator displayed relative to the pluralityof price levels according to a price of a working order.
 14. The tradingterminal of claim 13, further comprising an order deletion region wherethe working order is deleted in response to receiving a user input viathe order deletion region.
 15. The trading terminal of claim 1, wherethe market display further comprises a better than best indicatordisplayed relative to a location associated with a price level of theprice axis, the better than best indicator identifying a bid higher invalue than the location or an ask lower in value than the location. 16.The trading terminal of claim 15, where the better than best indicatoris based on at least one of consolidated quantities corresponding tounconsolidated prices and implied quantities at implied prices.
 17. Anon-transitory computer readable medium having program code recordedthereon for execution on a computer, the program code causing a machineto perform acts comprising: displaying a market display having: aplurality of price levels along a price axis; at least one of a bidindicator and an ask indicator, where the bid indicator is displayed ata first bid level of the plurality of price levels corresponding to abid for a first tradeable object and where the ask indicator isdisplayed at a first ask level of the plurality of price levelscorresponding to an ask for the first tradeable object; and at least oneof an equalized bid indicator and an equalized ask indicator, where theequalized bid indicator is displayed at a second bid level of theplurality of price levels corresponding to a bid for a second tradeableobject being different from the first tradeable object, and where theequalized ask indicator displayed at a second ask level of the pluralityof price levels corresponding to an ask for the second tradeable object.18. The non-transitory computer readable medium of claim 17 where thebid indicator, ask indicator, equalized bid indicator, and equalized askindicator are moveable relative to the price axis, the bid indicator andthe ask indicator being moveable relative to the price axis according tochanges for the first tradeable object, and the equalized bid indicatorand the equalized ask indicator being moveable relative to the priceaxis according to changes for the second tradeable object.
 19. Thenon-transitory computer readable medium of claim 17 where the equalizedbid indicator represents an equalized bid quantity determined accordingto a quantity of the bid for the second tradeable object and a quantityequalizer value and the equalized ask indicator represents an equalizedask quantity determined according to a quantity of the ask for thesecond tradeable object and the quantity equalizer value.
 20. Thenon-transitory computer readable medium of claim 17 where the programcode further causes a machine to perform acts comprising generating anorder entry region aligned with the price axis and having a plurality oflocations, each corresponding to an associated price level of the priceaxis, where a trade order is submitted in response to receiving a userselection of one of the plurality of locations via a user input device.21. The non-transitory computer readable medium of claim 20 where themarket display further comprises a static quantity field having adefault static quantity for order entry in the order entry region and adynamic quantity field having a dynamic quantity for order entry in theorder entry region, where the dynamic quantity is linked to a formulaand is dynamically updated based on the formula.
 22. The non-transitorycomputer readable medium of claim 17, where the market display furthercomprises an order window displayed relative to the price axis andhaving working order related information, where the order window isactivated in response to a user activation received via a user inputdevice.
 23. The non-transitory computer readable medium of claim 22where the working order related information comprises at least oneworking order parameter being changeable according to a user inputreceived via the user input device.
 24. The non-transitory computerreadable medium of claim 23, where the at least one working orderparameter comprises at least one of a working order quantity and aworking order price.
 25. A method comprising: displaying, via a clientdevice having a processor, a plurality of price levels along a priceaxis in a market display; displaying, via the client device, at leastone of a bid indicator and an ask indicator, where the bid indicator isdisplayed at a first bid level of the plurality of price levelscorresponding to a bid for a first tradeable object and where the askindicator is displayed at a first ask level of the plurality of pricelevels corresponding to an ask for the first tradeable object; anddisplaying, via the client device, at least one of an equalized bidindicator and an equalized ask indicator, where the equalized bidindicator is displayed at a second bid level of the plurality of pricelevels corresponding to a bid for a second tradeable object beingdifferent from the first tradeable object, and where the equalized askindicator displayed at a second ask level of the plurality of pricelevels corresponding to an ask for the second tradeable object.
 26. Themethod of claim 25 where the bid indicator, ask indicator, equalized bidindicator, and equalized ask indicator are moveable relative to theprice axis, the bid indicator and the ask indicator being moveablerelative to the price axis according to changes for the first tradeableobject, and the equalized bid indicator and the equalized ask indicatorbeing moveable relative to the price axis according to changes for thesecond tradeable object and where the equalized bid indicator representsan equalized bid quantity determined according to a quantity of the bidfor the second tradeable object and a quantity equalizer value and theequalized ask indicator represents an equalized ask quantity determinedaccording to a quantity of the ask for the second tradeable object andthe quantity equalizer value.
 27. The method of claim 25, furthercomprising: displaying, via the client device, an order entry regionaligned with the price axis and having a plurality of locations, eachcorresponding to an associated price level of the price axis; receiving,via a user input device, a user selection of one of the plurality oflocations; and submitting, via the client device, a trade order inresponse to receiving the user selection.
 28. The method of claim 27where the market display further comprises a static quantity fieldhaving a default static quantity for order entry in the order entryregion and a dynamic quantity field having a dynamic quantity for orderentry in the order entry region, where the dynamic quantity is linked toa formula and is dynamically updated based on the formula.
 29. Themethod of claim 25, further comprising displaying an order windowrelative to the price axis, where the order window has working orderrelated information and is activated in response to a user activationreceived via a user input device.
 30. The method of claim 29 where theworking order related information comprises at least one working orderparameter being changeable according to a user input received via theuser input device.
 31. The method of claim 30 where the at least oneworking order parameter comprises at least one of a working orderquantity and a working order price.
 32. The method of claim 25 where themarket display further comprises at least one working order indicatordisplayed relative to the plurality of price levels according to a priceof a working order.
 33. The method of claim 32, further comprisinggenerating an order deletion region where the working order is deletedin response to receiving a user input via the order deletion region.